 /*
    *  Copyright 2004 Thevert Liu  <thevert.liu@gmail.com>
    *
    *  Licensed under the Apache License, Version 2.0 (the "License");
    *  you may not use this file except in compliance with the License.
    *  You may obtain a copy of the License at
    *
    *      http://www.apache.org/licenses/LICENSE-2.0
    *
   *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   */
 /*
    *  Copyright 2004 Thevert Liu  <thevert.liu@gmail.com>
    *
    *  Licensed under the Apache License, Version 2.0 (the "License");
    *  you may not use this file except in compliance with the License.
    *  You may obtain a copy of the License at
    *
    *      http://www.apache.org/licenses/LICENSE-2.0
    *
   *  Unless required by applicable law or agreed to in writing, software
  *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   */
#ifndef XMLPARSERUNITTEST_H
#define XMLPARSERUNITTEST_H

#include <string>
#include <sstream>
#include <iostream>
#include <XMLReader.h>
#include <fstream>

class XMLParserUnitTest
{
public:
       
static void doTest(const std::string& filename, 
                   IXMLElement& result, 
                   std::ostream& os, 
                   XMLContext* ctx=NULL) 
    {
        std::ifstream xmlfile(filename.c_str()) ;
        
        s3::string s, e ;
    
        s.read(xmlfile) ;
        
        xmlfile.close();
        
        if (!XMLParser::parse(s, result.getTagName(), result, e, ctx)) {
            std::cout << " parse failed ! " << std::endl << e << std::endl ;
            return  ;
        }
        
        // cout << "Parse file successed!" << endl ;
        
        XMLParser::toXML(result, os, ctx) ;
    }
} ;


#endif 


